﻿// This is an open source non-commercial project. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com

// ReSharper disable CheckNamespace
// ReSharper disable CommentTypo
// ReSharper disable IdentifierTypo
// ReSharper disable InconsistentNaming
// ReSharper disable UnusedMember.Global

/* GetWindowFlags.cs -- связь между указанным окном и окном, чей дескриптор должен быть получен
   Ars Magna project, http://arsmagna.ru */

namespace AM.Win32;

/// <summary>
/// Задает связь между указанным окном и окном, чей дескриптор должен быть получен.
/// </summary>
public enum GetWindowFlags
{
    /// <summary>
    /// Полученный дескриптор идентифицирует окно того же типа,
    /// которое является самым высоким в порядке Z. Если указанное
    /// окно является самым верхним окном, дескриптор определяет
    /// самое верхнее окно, которое является самым высоким
    /// в порядке Z. Если указанное окно является окном верхнего
    /// уровня, дескриптор идентифицирует окно верхнего уровня,
    /// которое является самым высоким в порядке Z. Если указанное
    /// окно является дочерним окном, дескриптор идентифицирует
    /// родственное окно, которое является самым высоким в порядке Z.
    /// </summary>
    GW_HWNDFIRST = 0,

    /// <summary>
    /// Полученный дескриптор идентифицирует окно того же типа,
    /// которое является самым нижним в порядке Z. Если указанное
    /// окно является самым верхним окном, дескриптор определяет
    /// самое верхнее окно, которое является самым нижним
    /// в порядке Z. Если указанное окно является окном верхнего
    /// уровня, дескриптор идентифицирует окно верхнего уровня,
    /// которое является самым нижним в порядке Z. Если указанное
    /// окно является дочерним окном, дескриптор идентифицирует
    /// родственное окно, которое является самым низким в порядке Z.
    /// </summary>
    GW_HWNDLAST = 1,

    /// <summary>
    /// Полученный дескриптор идентифицирует окно под указанным окном
    /// в порядке Z. Если указанное окно является самым верхним окном,
    /// дескриптор определяет самое верхнее окно под указанным окном.
    /// Если указанное окно является окном верхнего уровня,
    /// дескриптор идентифицирует окно верхнего уровня ниже
    /// указанного окна. Если указанное окно является дочерним окном,
    /// дескриптор идентифицирует родственное окно под указанным окном.
    /// </summary>
    GW_HWNDNEXT = 2,

    /// <summary>
    /// Полученный дескриптор идентифицирует окно над указанным окном
    /// в порядке Z. Если указанное окно является самым верхним окном,
    /// дескриптор идентифицирует самое верхнее окно над указанным
    /// окном. Если указанное окно является окном верхнего уровня,
    /// дескриптор идентифицирует окно верхнего уровня над указанным
    /// окном. Если указанное окно является дочерним окном,
    /// дескриптор идентифицирует родственное окно над указанным окном.
    /// </summary>
    GW_HWNDPREV = 3,

    /// <summary>
    /// Полученный дескриптор идентифицирует окно-владелец указанного
    /// окна, если таковое имеется.
    /// </summary>
    GW_OWNER = 4,

    /// <summary>
    /// Полученный дескриптор идентифицирует дочернее окно в верхней
    /// части Z-порядка, если указанное окно является родительским
    /// окном; в противном случае полученный дескриптор равен NULL.
    /// Функция проверяет только дочерние окна указанного окна.
    /// Не проверяет дочерние окна.
    /// </summary>
    GW_CHILD = 5,

    /// <summary>
    /// Windows 2000/XP: полученный дескриптор идентифицирует
    /// разрешенное всплывающее окно, принадлежащее указанному
    /// окну (при поиске используется первое такое окно,
    /// найденное с помощью GW_HWNDNEXT); в противном случае,
    /// если нет разрешенных всплывающих окон, полученный дескриптор
    /// является дескриптором указанного окна.
    /// </summary>
    GW_ENABLEDPOPUP = 6
}
